Call-by-name linguistic side effects

نویسنده

  • Oleg Kiselyov
چکیده

We propose a typed call-by-name λ-calculus with shift, reset and strict functions and describe its linguistic applications, improving on the previous continuation-based analyses of quantification, binding, raised and in-situ wh-questions, binding in wh-questions, and superiority. The evaluation order is not fixed left-to-right: rather, it is determined by the demand for values exerted by reset and strict functions. Since functions can take general, effectful terms, our analyses need no thunks and similar type raising. The main improvement of the present analyses is in typing: assigning types both to terms and contexts and building types using connectives with clear logical interpretation. Types abstractly interpret operational semantics, and thus concisely describe all the effects that could occur in the evaluation of a term. Our main result is that both typing and call-by-name are necessary to correctly predict superiority and binding in wh-questions with topicalization, without resorting to thunking or type raising and thus maintaining the uniformity of the analyses. We have implemented the calculus including the type checking and mechanically verified all the analyses.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Induction by Coinduction and Control Operators in Call-by-Name

This paper studies emulation of induction by coinduction in a call-by-name language with control operators. Since it is known that call-by-name programming languages with control operators cannot have general initial algebras, interaction of induction and control operators is often restricted to effect-free functions. We show that some class of such restricted inductive types can be derived fro...

متن کامل

An Algebraic View of Program Composition

We propose a general categorical setting for modeling program composition in which the call-by-value and call-by-name disciplines fit as special cases. Other notions of composition arising in denotational semantics are captured in the same framework: our leading examples are nondeterministic call-by-need programs and nonstrict functions with side effects. Composition of such functions is treate...

متن کامل

An Analysis of Parameter Evaluation of Recursive Procedures

A class of recursive program schemata PR is defined abstracting ALGOL-like procedures. Four generic types of parameter evaluation are considered; call by value, PRV, call by copy, PRc, call by reference, PRr, and call by name, PRj. Two other types of theoretical interest are also considered: "normal evaluation", Ffin, a non-side effect, evaluation postponement mechansim and call by ouote, PRq, ...

متن کامل

Lazy mixin modules and disciplined effects

Programming languages are expected to support programmer’s effort to structure program code. The ML module system, object systems and mixins are good examples of language constructs promoting modular programming. Among the three, mixins can be thought of as a generalization of the two others in the sense that mixins can incorporate features of ML modules and objects with a set of primitive oper...

متن کامل

A Multilingual Perspective on Translanguaging

Translanguaging is a new term in bilingual education; it supports a heteroglossic language ideology, which views bilingualism as valuable in its own right. Some translanguaging scholars have questioned the existence of discrete languages, further concluding that multilingualism does not exist. I argue that the political use of language names can and should be distinguished from the social and s...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008